package com.itheima.exception;

import com.itheima.pojo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalExceptionHandler {
    //异常抛出流程：
    // 1.请求到前端控制器controller层 到 service层 到 Mapper层，到数据库
    // 2.如果出现异常，会抛出到controller层，然后到GlobalExceptionHandler进行处理
    // 3.GlobalExceptionHandler会捕获到异常，然后返回错误信息到前端

    // 全局异常处理
    @ExceptionHandler(Exception.class) // 捕获所有异常
    public Result GlobalExceptionHandler(Exception exception) { // 处理异常
        exception.printStackTrace();// 打印异常堆栈信息
        return Result.error(exception.getMessage());// 返回错误信息
    }
}
